<?php
declare (strict_types = 1);

namespace app\model;

use think\Model;

/**
 * @property bool $gender 性别
 * @property bool $level 等级:0=游客,1=店长,2=组长,3=主管,4=经理,5=总经理
 * @property bool $loginfailure 失败次数
 * @property float $money 余额
 * @property int $group_id 组别ID
 * @property int $id ID
 * @property int $jointime 加入时间
 * @property int $logintime 登录时间
 * @property int $maxsuccessions 最大连续登录天数
 * @property int $pid 上级
 * @property int $prevtime 上次登录时间
 * @property int $score 积分
 * @property int $successions 连续登录天数
 * @property string $avatar 头像
 * @property string $bio 格言
 * @property string $birthday 生日
 * @property string $city 城市
 * @property string $createtime 创建时间
 * @property string $email 电子邮箱
 * @property string $invite_code 邀请码
 * @property string $joinip 加入IP
 * @property string $loginip 登录IP
 * @property string $mobile 手机号
 * @property string $nickname 昵称
 * @property string $openid Openid
 * @property string $password 密码
 * @property string $salt 密码盐
 * @property string $status 状态
 * @property string $teamname 团队名称
 * @property string $token Token
 * @property string $truename 姓名
 * @property string $updatetime 更新时间
 * @property string $username 用户名
 * @property string $verification 验证
 * @property string $wechat 微信号
 * @property-read \app\model\GoodsOrder[] $goods_order
 * @property-read \app\model\User $parent
 * @property-read \app\model\UserAccount[] $account
 * @property-read mixed $level_text
 * @mixin \think\Model
 */
class User extends Model
{
	protected $createTime = 'createtime';
	protected $updateTime = 'updatetime';
	
	protected $append = [
		'level_text'
	];
	
	function account()
	{
		return $this->hasMany(UserAccount::class, 'user_id');
	}
	
	function parent()
	{
		return $this->belongsTo(User::class, 'pid');
	}
	
	function goodsOrder()
	{
		return $this->hasMany(GoodsOrder::class,'seller_id');
	}
	
	function getLevelTextAttr($value,$data)
	{
		$value = $value ?? $data['level'];
		$list = ['0' => '游客', '1' => '店长','2'=>'组长','3'=>'主管','4'=>'经理','5'=>'总经理'];
		return $list[$value] ?? '';
	}
}
